A number of applications, such as video games, incorporate animation. Sometimes the animation is pre-generated during creation of the application and is included with the application as a video file. However, in other cases, the animation may be generated during execution of the application. One reason that the animation may be generated during the execution of the application is that the number of possible animations for the application are too numerous to pre-generate for inclusion with the application's data files.
It is often desirable to generate realistic looking animation. One way that developers create realistic animation is to create a physics engine that attempts to model real world physics in the application or video game environment. Because of the complexity of real world physics, using a physics engine can require a significant amount of computational resources. Thus, it is often necessary for a user to have a computing system with a relatively large amount of computational resources, such as a fast CPU and/or GPU and a large amount of memory. Moreover, an application may be limited in the number of characters or objects that can be displayed or interacted with in a particular animation while maintaining realistic looking animation due to the increased amount of computational resources required by the physics engine to model multiple characters or objects in an animation.